#ifndef RESETDIALOG_H
#define RESETDIALOG_H

#include <QDialog>
#include"global.h"
#include <QDebug>
#include <QRegularExpression>
#include"httpmgr.h"
namespace Ui {
class ResetDialog;
}

class ResetDialog : public QDialog
{
    Q_OBJECT

public:
    explicit ResetDialog(QWidget *parent = nullptr);
    ~ResetDialog();

    void initHttpHandlers();

private:
    Ui::ResetDialog *ui;

    QMap<TipErr,QString> _tip_errs;
    QMap<ReqId,std::function<void(const QJsonObject&)>> _handlers;

    void showTip(QString str,bool b_ok);
    bool checkUserVaild();
    bool checkEmailVaild();
    bool checkPassVaild();
    bool checkVarifyVaild();
    void AddTipErr(TipErr te,QString tips);
    void DelTipErr(TipErr te);

signals:
    void switchLogin();

private slots:
    void slot_reset_mod_finish(ReqId id, QString res, ErrorCodes err);
    void on_varify_btn_clicked();
    void on_confirm_btn_clicked();
    void on_cancel_btn_clicked();
};

#endif // RESETDIALOG_H
